From 2616d6e2e8bc18eadb68a06c977d03f59e5639fd Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Mon, 26 May 2008 08:45:59 +0100 Subject: [PATCH] x86 hvm: Drop pagetable reference when resetting a VCPU to real mode. Signed-off-by: Keir Fraser --- xen/arch/x86/hvm/hvm.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index 80f494f584..c755a4c462 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -2073,6 +2073,13 @@ void hvm_vcpu_reset_state(struct vcpu *v, uint16_t cs, uint16_t ip) if ( v->is_initialised ) goto out; + if ( !paging_mode_hap(d) ) + { + if ( v->arch.hvm_vcpu.guest_cr[0] & X86_CR0_PG ) + put_page(pagetable_get_page(v->arch.guest_table)); + v->arch.guest_table = pagetable_null(); + } + ctxt = &v->arch.guest_context; memset(ctxt, 0, sizeof(*ctxt)); ctxt->flags = VGCF_online; -- 2.30.2